Data storage utilization is continually increasing, causing the proliferation of storage systems in data centers. In particular, the size of the applications and the data generated there from is increasing. Moreover, systems/users are copying multiple copies of a given set of data to maintain multiple versions. For example, snapshots of a given database stored in a server are copied and stored over time, thereby allowing a given version/snapshot of a set of data to be restored. Thus, a typical client has an abundant amount of data to be copied. A typical network configuration includes multiple remote devices communicatively coupled to a central storage system for copying their data. The copied data can be subsequently restored to a target system from the storage system.
In some situations, there is a need to restore an application and its application data that has been copied at a particular time, as well as its original operating environment at that particular point in time. Such a restoration tends to be a manual process and error prone.